package preferencePackage;

import mapPackage.ITronconNonModifiable;
import mapPackage.IVilleNonModifiable;
import mapPackage.MapException;
import xmlPackage.Carte;

public class Pref_FavoriserTourisme extends Preference 
{

	public Pref_FavoriserTourisme(int classement, boolean positif) 
	{
		super(classement, positif);
	}

	public float evaluerDestination(IVilleNonModifiable villeDepart , ITronconNonModifiable troncon)
	{
		float score = 0;
		try 
		{
			IVilleNonModifiable villeDest;
			villeDest = Carte.GetInstance().getVille( troncon.getAutreVille(villeDepart.getNom()) );
		
			if(positif)
			{
				if( villeDest.isTouristique() ){ score += 0 ;}
				else{ score += (float)0.5 ; }
				
				if( troncon.isTourisitique() ){ score += 0 ;}
				else{ score += (float)0.5 ; }
			}
			else
			{
				if( !villeDest.isTouristique() ){ score += 0 ;}
				else{ score += (float)0.5 ; }
				
				if( !troncon.isTourisitique() ){ score += 0 ;}
				else{ score += (float)0.5 ; }
			}
			
			return score * classement;
		}
		catch (MapException e) {e.printStackTrace();}
		return 1  ;
	}
}
